package org.lanqiao.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.lanqiao.entity.User;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

@Mapper
@Repository
public interface UserMapper {

    /**
     *功能描述 根据ID查用户信息
     * @author 吴奇
     * @date 2019/5/28
     * @return org.lanqiao.entity.User
     */
    User getByUserId(String userId);

    /**
     * 查询全部
     */
    List<User> queryUserList();

    /**
     * @Author 刘金渝
     * @Description //TODO
     * @Date 2019/5/20 16:46
     * @Param []
     * @explain   根据用户名字查询用户的信息
     * @return org.lanqiao.entity.User
     */

    User selectByName(String  userName);
    
    /**
     * @Author 李玉鑫
     * @Description //TODO
     * @Date 2019/5/22 15:09
     * @Param 增加用户
     * @return
     */
    void addUser(User user);

    /**
     * @Author 王宇
     * @Description //TODO 通过邮箱密码查询用户(用于登录)
     * @Date 2019/05/23 9:39
     * @Param [userEmail, userPassword]
     * @return org.lanqiao.entity.User
     */
    User getUser(@Param("userEmail")String userEmail, @Param("userPassword")String userPassword);

    /**
     * @Author 徐金星
     * @Description //TODO
     * @Date 2019/5/23 10:30
     * @Param [id]
     * @explain  封号解封
     * @return void
     */
    void updateUserStatusF(String id);

    void updateUserStatusJ(String id);


    /**
     * 任春旭：查询用户个人信息
     */
    User queryUser(String userEmail);

    /**
     * 任春旭：修改用户昵称
     */
    void upName(@Param("userName") String userName,@Param("userEmail") String userEmail);

    /**
     * 任春旭：修改用户邮箱
     */
    void upEmail(@Param("userEmail") String userEmail,@Param("userId") String userId);

    /**
     * 任春旭：修改用户密码
     */
    void upPassword(@Param("userPassword") String userPassword,@Param("userEmail") String userEmail);

    void updateNumber(@Param("userId") String userId,@Param("userBalance") Double userBalance);

    User getUserById(String userId);
}